home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / nn-faq / part1 < prev   
Encoding:
Text File  |  1995-07-25  |  62.7 KB  |  1,968 lines

  1. Subject: NN Frequently Asked Questions (FAQ) with Answers
  2. Newsgroups: news.software.nn,news.answers
  3. From: Bill Wohler <wohler@newt.com>
  4. Date: 10 Nov 1994 01:26:22 GMT
  5.  
  6. Archive-name: nn-faq/part1
  7. Last-modified: $Date: 1994/11/08 04:29:12 $
  8. Version: $Revision: 94.11 $
  9. Posting-Frequency: monthly
  10.  
  11.   This is a living list of frequently asked questions on the Usenet
  12.   news reader NN (No News is Good News).  The point of this is to
  13.   circulate existing information, and avoid rehashing old answers.
  14.   Better to build on top than start again.  Please read this document
  15.   before ever posting to this newsgroup.
  16.  
  17.   This article is posted monthly.  If it has already expired and
  18.   you're not reading this, you can hope that you saved Question 1.3,
  19.   "Where can I get nn?," so that you can get a copy yourself.
  20.  
  21.   Please do not post an answer when someone posts a frequently asked
  22.   question; rather, email the relevant section of the FAQ to eliminate
  23.   unnecessary traffic in this newsgroup.  Note that I usually do this.
  24.  
  25.   This list depends on your comments, additions and fixes: please send
  26.   them to Bill Wohler <wohler@newt.com>.
  27.  
  28.   
  29. Subject: Table of Contents
  30. From: Preface
  31.  
  32. Legend: + new, - deleted, ! changed
  33. _______________
  34.  
  35. 1. Introduction
  36.  
  37. !1.1  Why should I use nn?
  38.  1.2  What is the current version/status of nn?
  39.  1.3  Where can I get nn?
  40. !1.4  What references exist for nn?
  41.  1.5  How should I report bugs?
  42.  1.6  How can I convert from rn to nn?
  43.  1.7  How can I make life simpler when starting nn for the first time?
  44.  1.8  Is there an X interface to nn?
  45. ______________
  46.  
  47. 2. Building nn
  48.  
  49.  2.1  What machines does nn run on?
  50.  2.2  Is it possible to restrict the groups that users have access to?
  51. !2.3  Unofficial patches for various bugs
  52.  2.4  Can I set up nn securely?
  53. ________________
  54.  
  55. 3. Command Input
  56. _________________
  57.  
  58. 4. Selection Mode
  59.  
  60.  4.1  How come nn doesn't show the Lines count?
  61.  4.2  Why does nn crash when an invalid letter is selected?
  62.  4.3  How do I search for an author in a menu?
  63. +4.4  How do I select all articles in one fell swoop?
  64. ________________________
  65.  
  66. 5. Reading Mode Commands
  67.  
  68.  5.1  How can I see the original article with the current subject?
  69.  5.2  Why do articles without a Lines header appear empty?
  70.  5.3  Can the article viewer/pager be changed?
  71.  5.4  How can I read MIME (multi-media mail) articles?
  72.  5.5  How can I read HTML (World Wide Web, Mosaic) articles?
  73.  5.6  Why am I reading cross-posted articles more than once?
  74. __________________
  75.  
  76. 6. Saving Articles
  77.  
  78.  6.1  How do I save files that I can read later with MH, elm, Mail, ...?
  79.  6.2  What's the best way to save multi-part articles?
  80.  6.3  When saving in +a/b/c keeps you from saving in +a/b.
  81.  6.4  How can I change the default name of a save file?
  82. !6.5  Can I save all unread articles non-interactively into a file?
  83. +6.6  Can I download news to my PC?
  84. _____________________
  85.  
  86. 7. Folder Maintenance
  87.  
  88.  7.1  How can I remove old articles from folders?
  89. _____________________________________
  90.  
  91. 8. Posting and Responding to Articles
  92.  
  93.  8.1  How can I post prewritten articles with nn?
  94. !8.2  How can nn automatically append my signature?
  95.  8.3  How do I eliminate double signatures?
  96. !8.4  Can the signature come from a different file or program?
  97.  8.5  How do I save my posts and replies automatically?
  98.  8.6  Can I use my editor to edit posts and replies?
  99.  8.7  Can I use my mailer to send mail?
  100.  8.8  Can nn use aliases when sending mail?
  101.  8.9  How can I set a different Organization name?
  102.  8.10 How can I make mail replies go to a different machine?
  103.  8.11 How can I change how my real name appears?
  104.  8.12 How can I customize my mail headers for mail and posting?
  105. __________________________
  106.  
  107. 9. Jumping to Other Groups
  108.  
  109.  9.1  How can I see which newsgroups are available?
  110. ________________________________
  111.  
  112. 10. Automatic Kill and Selection
  113.  
  114.  10.1  Can non-selected subjects be automatically placed in my kill file?
  115.  10.2  Can I automatically kill articles based on the Newsgroups header?
  116.  10.3  How can I find all articles having to do with a certain topic?
  117.  10.4  Can I select one article in a thread when auto-select-subject set?
  118.  10.5  Can one search for patterns in the entire article from the menu?
  119.  10.6  How come more articles get selected than I expect?
  120.  10.7  Any plans for trn-ish thread following?
  121. +10.8  Can one kill articles based on the number of lines?
  122. +10.9  Why is nn 6.5.0b3 ignoring my kill file?
  123. _______________________________
  124.  
  125. 11. The Format of the Kill File
  126. __________________________
  127.  
  128. 12. Miscellaneous Commands
  129.  
  130.  12.1  Can I choose newsgroups as I do articles, ie. with a menu?
  131.  12.2  How do I unsubscribe to all groups?
  132.  12.3  How can I get nn to stop adding new newsgroups?
  133. __________________
  134.  
  135. 13. The Init Files
  136.  
  137.  13.1  How do I customize nn or change nn's behavior?
  138. +13.2  How can nn be used when multiple users share the same login?
  139. _________________________
  140.  
  141. 14. Variables and Options
  142.  
  143.  14.1  Setting new-group-action to "ask before adding" doesn't work.
  144. _____________________
  145.  
  146. 15. Macro Definitions
  147.  
  148. !15.1  Is there a library of macros and other nn features?
  149. ________________
  150.  
  151. 16. Key Mappings
  152. __________________
  153.  
  154. 17. Command Groups
  155. _______________________________
  156.  
  157. 18. Group Presentation Sequence
  158. ____________
  159.  
  160. 19. NN Maintenance & nnmaster
  161.  
  162.  19.1  Why does nnmaster stop collecting articles at the "junk" group?
  163.  19.2  How do I cope with "Incomplete MASTER file"?
  164.  19.3  Why isn't nnmaster working?
  165.  19.4  Why did nnmaster stop working?
  166.  19.5  Why do I get ".../MASTER not found"?
  167.  19.6  Why do I get "cannot open 'x' file"
  168. !19.7  Why do I get "Lost connection to server foobar"
  169.  19.8  Why doesn't nn display messages when not using NNTP?
  170.  19.9  Why do I get "Notice: no news has arrived for the last n hours"?
  171. +19.10 How can I fix a "Master/GROUPS conflict"?
  172. ________
  173.  
  174. Appendix
  175.  
  176. !Glossary, Acknowledgments, Copyright and Warranty
  177.  pack_date.c
  178.  news.c
  179.  nn-use-mh
  180.  nn_elm
  181.  nnalias
  182.  lynxify
  183.  
  184.   
  185. Subject: ! Viewing This Article
  186. From: Preface
  187.  
  188.   To skip to a particular question numbered xx, use "/^F.*xx" with most
  189.   pagers.  In GNU Emacs type "M-C-s ^F.*xx", (or C-r to search backwards),
  190.   followed by ESC to end the search.
  191.  
  192.   To skip to new or changed questions, use "/^S.*[!+]" with most pagers and
  193.   "M-C-s ^S.*[!+]" in GNU Emacs.
  194.  
  195.   This article is in digest format.  Nn may have already broken this
  196.   message into separate articles; if not, then type "G %".  In rn, use
  197.   ^G to skip sections.
  198.  
  199.   This article is treated as an outline when edited by GNU Emacs.  Run
  200.   "M-x describe-mode" to see available outline-mode commands.  Useful
  201.   commands are "M-x hide-body",  "C-c C-s" (show-subtree) and "M-x
  202.   show-all"
  203.  
  204.   Numbers in square brackets denote the month and year of the last
  205.   update.
  206.  
  207.   If you should need the Internet address, use nslookup or dig if you
  208.   have them, or send mail to dns@grasp.insa-lyon.fr with "help" for
  209.   a Subject.
  210.  
  211.  
  212. Subject: ***** Introduction *****
  213. From: 1.
  214.  
  215.  
  216. Subject: ! Why should I use nn?
  217. From: 1.1
  218.  
  219.   nn is a menu based (point and shoot) netnews reader with a complete
  220.   set of features to satisfy both the expert and the novice user.  Since
  221.   its first release in Denmark in 1984 (!), in Europe in 1988, and the
  222.   global release in June 1989, it has replaced rn and other well-known
  223.   news readers at many sites.
  224.  
  225.   Some of the key features of nn are:
  226.  
  227.   * Menu-based article selection prior to reading the articles with the
  228.     articles sorted according to subject and posting time.
  229.  
  230.     This significantly reduces the time spent on news reading.  No
  231.     keystrokes are wasted on articles you don't want to read, and only
  232.     the articles selected on the menu will be read.
  233.  
  234.   * Release 6.4 uses standard .newsrc, and can leave individual
  235.     articles unread.
  236.  
  237.   * Digests are automatically split and presented as ordinary articles!
  238.     You can transparently save and respond to individual sub-articles.
  239.  
  240.   * Full folder support: read, save, and delete individual articles.
  241.  
  242.   * Online help and manual.
  243.  
  244.   * Built-in unshar and patch functions.
  245.   * Built-in uudecode function which will automatically unpack,
  246.     concatenate, and decode multi-part postings.
  247.  
  248.   * Easy remapping of keys with advanced macro definition features.
  249.  
  250.   * Automatic kill & selection of articles based on subject or author.
  251.  
  252.   * User specified presentation sequence of news groups based on the
  253.     news group hierarchy.
  254.  
  255.   * Whole classes of news groups can easily be unsubscribed
  256.     permanently, e.g. talk.all and all.politics
  257.  
  258.   * Related groups can be merged and presented as a single group, e.g.
  259.     comp.emacs and all gnu.emacs groups.
  260.  
  261.   * Blindingly fast 'search for subject'.  On my Texas S1500 system, nn
  262.     uses less than 20 seconds to find all articles on a specific
  263.     subject among 64000 articles in all groups!
  264.  
  265.   * News collection and presentation is extremely fast, because nn uses
  266.     its own database on top of the standard news system.
  267.  
  268.   * In a distributed environment, the database can be shared among all
  269.     hosts on the network.  Only one daemon is needed on the news server
  270.     for all hosts.  This works in a heterogeneous environment as well.
  271.  
  272.   * NNTP is also supported (using a local database for speed).
  273.  
  274.   Because of the database, nn starts almost equally fast (in a few
  275.   seconds), no matter whether you have 100 or 10000 unread articles!
  276.   The database takes up some disk space, but dramatically improves speed
  277.   and functionality.  The amount of disk space consumed is approx. 1Mb
  278.   per 10000 articles.
  279.  
  280.   Nancy McGough <nancym@ii.com> has produced the following comparison
  281.   between nn and trn. [11.94]
  282.  
  283.   Notation
  284.     + is an advantage
  285.     o is neutral
  286.     - is a disadvantage
  287.     ? is something I don't know about
  288.  
  289.   nn 6.4.16
  290.     + Easier macro language.
  291.     + More powerful kill/select abilities (ANDing, ORing).
  292.     + Faster auto killing/selecting.
  293.     + Can split/unsplit digests.
  294.     + Dedicated newsgroup (news.software.nn) for discussion.
  295.     + l command for flagging (with =) and leaving an article to deal
  296.       with it later (this is better than trn's M command which just
  297.       returns an article as unread next time).
  298.     + Can easily mail a copy of a followup article to the author
  299.       you're responding to.
  300.     + Can easily mail articles you read/post to other addresses.
  301.     + Incredibly customizable.
  302.     + Can easily view and organize your folders (both mail and news) with nn.
  303.     + Can merge newsgroups.
  304.     + Can search all (or some) newsgroups for subject and/or author.
  305.     + Can have spell check one of the options before posting/mailing article.
  306.     + Can set default save directory for each newsgroup that is not
  307.       necessarily.  one of the interpreted strings (e.g., my default
  308.       save dir for comp.editors is +vi)
  309.     - Not very active participation by developer(s) in newsgroup
  310.       (news.software.nn) .
  311.     - Can only search on subject and/or author; also author is the
  312.       "real name" .  rather than full From line
  313.     - Macro names limited to 2 characters (as far as I can tell).
  314.     ? More powerful macro language.
  315.  
  316.   trn 3.0
  317.     + Newsgroup selection level is friendlier than nn's A/B
  318.       (advance/back) commands (I like being able to see the list of
  319.       newsgroups that I say no to).
  320.     + True threading (uses References line).
  321.     + Graphic view of thread ("article tree").
  322.     + Uses NOV (new overview database) for fast searching of headers;
  323.       also NOV is used by other newsreaders (eventually nn too).
  324.     + Can search body of article.
  325.     + Can search full header.
  326.     + Can reorder subscription list from within TRN (using m).
  327.     + Can have macro names longer than 2 characters.
  328.     + Active participation by trn developer in newsgroup
  329.       (news.software.readers).
  330.     + Can reverse the sort order (e.g., most recent at the top).
  331.     + Intrinsic commands for going to root/leaf of a thread (in nn you
  332.       need to do this with macros or a sequence of commands)
  333.     + Intrinsic command for auto-selecting your articles.
  334.     + Easy to change attribution line to whatever you want (using ATTRIBUTION).
  335.     + When you post you get lots of blank headers (e.g., Followup-To)
  336.       put into your editor.
  337.     o Newsgroup (news.software.readers) for discussion but also
  338.       contains lots of non-TRN discussion.
  339.     - Harder macro language.
  340.  
  341.   
  342. Subject: What is the current version/status of nn?
  343. From: 1.2
  344.  
  345.   The current version of nn is 6.4.18.
  346.  
  347.   Note: The development of nn has been taken over by Peter Wemm
  348.   <peter@dialix.oz.au>.  Bug reports, fixes and suggestions should be
  349.   sent to nn-bugs@dkuug.dk.
  350.  
  351.   Version 6.5.0 is in the final stages of beta testing.  It will
  352.   include many bug fixes, full NOV capability, a means of
  353.   automatically killing threads of unread articles as well as
  354.   automatically selecting subjects to articles that you've read, a
  355.   mouse sensitive xterm interface, and the program nnsub to subscribe
  356.   to newsgroups.
  357.  
  358.   The adventurous are invited to obtain the beta version.  Please get
  359.   the files README.FIRST and README.b3 in the beta directory, and
  360.   report any bugs to Peter [Q1.3 "Where can I get nn"].  [10.93]
  361.  
  362.   
  363. Subject: Where can I get nn?
  364. From: 1.3
  365.  
  366.   The current master site for nn is ftp.uwa.edu.au.
  367.  
  368.   If you should need the Internet address, use nslookup or dig if you
  369.   have them, or send mail to dns@grasp.insa-lyon.fr with "help" for
  370.   a Subject.
  371.  
  372.   via anonymous ftp:                            [5.94]
  373.     ftp://ftp.uwa.edu.au/pub/nn/nn-6.4.18.tar.Z                590k
  374.     ftp://ftp.uwa.edu.au/pub/nn/nn-6.4.18.tar.gz            405k
  375.     ftp://ftp.uwa.edu.au/pub/nn/beta/nn-6.5.0.b3.tar.gz            515k
  376.     ftp://nexus.yorku.ca/pub/linux/sources/news/nn-6.4.18.tar.Z
  377.     ftp://ftp.uu.net/networking/news/readers/nn/nn-6.4.18.tar.Z
  378.     ftp://qiclab.scn.rain.com/pub/news/nn-6.4.18.tar.Z
  379.     ftp://gumby.dsd.trw.com/pub/news/newsreaders/unix/nn-6.4.18.tar.Z
  380.     ftp://mcsun.eu.net/news/readers/nn/nn-6.4.18.tar.Z
  381.     ftp://sun.rz.tu-clausthal.de/pub/unix/network/apps/news/nn/nn-6.4.18.tar.Z
  382.     ftp://ftp.cs.ruu.nl/NN-6.4/nn-6.4.18.tar.gz
  383.     ftp://chalmers.se/pub/unix/nn/nn6.4.18.tar.Z
  384.     ftp://ftp.luth.se/pub/infosystems/news/readers/nn/nn-6.4.18.tar.Z
  385.     ftp://grasp1.univ-lyon1.fr/pub/nfs-mounted/ftp.univ-lyon1.fr/mirrors/unix/nn/nn-6.4.18.tar.gz
  386.     ftp://ftp.msen.com/pub/packages/news/nntp.1.5.11.tar.Z        210k
  387.     ftp://ecs.soton.ac.uk/pub/news/nntp-1.5.11.tar.Z            210k
  388.  
  389.   via anonymous uucp:
  390.     You can get the latest production release of NN via UUCP from UUNET.
  391.     The file you would retrieve is:
  392.  
  393.     uunet!~/networking/news/readers/nn/nn.tar.Z
  394.  
  395.     This file is linked to the ftp.uu.net file listed above which
  396.     should be the latest production release.  Use the uucp command
  397.     to queue the transfer (typically "uucp -d -r FILE DESTINATION").
  398.     UUNET subscribers would call as they would normally for mail.
  399.     Other sites in the continental U.S. can access UUNET's archive
  400.     using anonymous UUCP through a 900 number (1-900-GOT-SRCS).  The
  401.     login name is "uucp" and there is no password requested.  The
  402.     following is an example Systems/L.sys entry:
  403.  
  404.     uunet Any ACU 19200 19004687727 "" \d\r ogin:-\d\r-ogin: uucp
  405.  
  406.     The modems on the 900 lines are Telebit WorldBlazers negotiating
  407.     V.32bis, V.32, 2400, 1200, and last with (Turbo)PEP tones.  The
  408.     cost is 50 cents per minute (as of Jan 93) which will appear on on
  409.     your next phone bill.  For more info, retrieve uunet!~/help or
  410.     email help@uunet.uu.net (uunet!help). --Eric Ziegast
  411.     <ziegast@uunet.uu.net> [8.94]
  412.  
  413.   via mail:
  414.     Send a note to ftpmail@decwrl.dec.com whose body contains "help"
  415.     on a line by itself get information on getting ftp sources by
  416.     mail.
  417.  
  418.     Send a note to mail-server@nluug.nl with a body containing one or
  419.     both of the following as desired:
  420.  
  421.       send news/nn/nn6.4.16.tar.Z                <- old
  422.       send news/nntp/nntp.1.5.11.tar.Z
  423.  
  424.   mini-inews:
  425.  
  426.     As well as bringing mini-inews up to date, modifications have been
  427.     made to remove the need for MINI_INEWS_HEADERS when setting up nn.
  428.     Mini-inews will now create whatever headers are required including
  429.     if desired, a Lines header or an incremental Message-ID numbering
  430.     capability. --Jim Jagielski <jim@jagubox.gsfc.nasa.gov>
  431.  
  432.     ftp://jagubox.gsfc.nasa.gov/pub/misc/NN-6.5.patches.tar.gz        43k
  433.  
  434.   
  435. Subject: ! What references exist for nn?
  436. From: 1.4
  437.  
  438.   Book:
  439.     The Whole Internet User's Guide & Catalog (2nd Ed), Chapter 8.  Ed Krol.
  440.     ISBN 1-56592-063-5.  $24.95.  543 pages.
  441.     O'Reilly & Associates, Inc.
  442.     Book Orders:
  443.       US and Canada: 800-998-9938.  Fax: 707-829-0104.
  444.  
  445.     To get a list of non-US distributors, send a note to
  446.     nuts@ora.com or call +1-707-829-0515.
  447.  
  448.   On-line Documents:
  449.     gopher://unlhelp.unl.edu:2001/11/18menu/03menu/09menu        [8.94]
  450.     ftp://ftp.ii.com/pub/ii/Internet/NN                    [11.94]
  451.  
  452.   Papers:
  453.     "Intro to nn"
  454.     ftp://ftp.cso.uiuc.edu/doc/net/nn.<fmt>
  455.     where <fmt> is one from doc(16k), ps(91k), tex(21k), jpn, and hqx.
  456.  
  457.     "A Short Guide to nn"
  458.     ftp://ftp.unl.edu/pub/crc/docs/UNLINFO.GUIDE/UNLINFO.06.nn.<fmt>
  459.     where <fmt> is one from txt(57k), ps(1.17M), rtf(68k) and hqx(65k). [8.94]
  460.     
  461.     "nn Helpsheets"
  462.     ftp://ftp.unl.edu/pub/crc/docs/UNLINFO.HELPSHEETS/nn.<fmt>
  463.     where <fmt> is one from 1.ps(636k), 2.ps(549k), hqx(209k).        [8.94]
  464.  
  465.   Usenet:
  466.     news.software.nn
  467.  
  468.   Mailing list:
  469.     A mailing list for nn developers is nn@uniwa.uwa.edu.au.  To join,
  470.     please send a message to nn-request@uniwa.uwa.edu.au.
  471.  
  472.   nn archives:
  473.   
  474.   This document:
  475.     via WWW
  476.      http://www.cis.ohio-state.edu/hypertext/faq/usenet/nn-faq/top.html [11.94]
  477.   
  478.     via anonymous ftp:
  479.       ftp://rtfm.mit.edu/pub/usenet/news.answers/nn-faq/part1        [11.94]
  480.       ftp://ftp.uu.net/archive/usenet/news.answers/nn-faq/part1.Z    [11.94]
  481.       ftp://ftp.cs.ruu.nl/pub/NEWS.ANSWERS/nn-faq/part1            [11.94]
  482.  
  483.     via mail:
  484.       Each of the following addresses is following by commands which
  485.       should be included as the body of the message.
  486.  
  487.       mail-server@rtfm.mit.edu
  488.         send /usenet/news.answers/nn-faq/part1                [11.94]
  489.  
  490.       mail-server@cs.ruu.nl
  491.     send /pub/NEWS.ANSWERS/nn-faq/part1                [11.94]
  492.  
  493.     via uucp:
  494.       uunet!/archive/usenet/news.answers/nn-faq/part1.Z            [11.94]
  495.  
  496.   Signature and Finger FAQ:                        [11.94]
  497.     via WWW:
  498.       http://www.cis.ohio-state.edu/hypertext/faq/usenet/signature_finger_faq/faq.html
  499.  
  500.     via anonymous ftp:
  501.       ftp://rtfm.mit.edu/pub/usenet/news.answers/signature_finger_faq
  502.  
  503.     via mail (see above for usage):
  504.       mail-server@rtfm.mit.edu
  505.         send /usenet/news.answers/signature_finger_faq
  506.  
  507.     via uucp:
  508.       uunet!/archive/usenet/news.answers/signature_finger_faq
  509.  
  510.   
  511. Subject: How should I report bugs?
  512. From: 1.5
  513.  
  514.   Send them to nn-bugs@dkuug.dk.  [10.93]
  515.  
  516.   
  517. Subject: How can I convert from rn to nn?
  518. From: 1.6
  519.  
  520.   Why bother?  On our system some people use nn and some people use
  521.   rn.  In fact, since they both use the same .newsrc format, it is
  522.   perfectly possible to use both.  --Ian Taylor <ian@airs.com>
  523.  
  524.   
  525. Subject: How can I make life simpler when starting nn for the first time?
  526. From: 1.7
  527.  
  528.   Use nnsub and eep.  See the enclosed documentation to see which you
  529.   prefer. [note: only available in 6.5.0 beta] --Peter Wemm
  530.   <peter@dialix.oz.au> [10.93]
  531.  
  532.   The standard method is to run:
  533.  
  534.       nngrep -a | sed -e 's/ *$/!/' > .newsrc        # add \ before ! in csh
  535.  
  536.   and then edit .newsrc, replacing the '!'  with a ':' for those
  537.   groups you're interested in.  --Bill Wohler <wohler@newt.com> [8.94]
  538.  
  539.   I think a nice way is to use the catch-up facility.  Start nn -a0
  540.   and let nn catch up automatically.  After some hours restart nn and
  541.   unsubscribe to uninteresting groups having news articles.  Restart
  542.   nn the following day and continue unsubscribing.
  543.  
  544.   After one week, you have a nice .newsrc.  --Joerg Napp
  545.   <napp@uni-paderborn.de>
  546.  
  547.   
  548. Subject: Is there an X interface to nn?
  549. From: 1.8
  550.  
  551.   This is an X version of nn that uses TCL and TK to provide the user
  552.   interface. It adds two separate methods of newsgroup choice (list
  553.   and cascading menus) as well as buttons, menus and selection using
  554.   the mouse, but all the keyboard commands still work as well.
  555.  
  556.   It's still in alpha version, but all the nn functionality is there,
  557.   if not in its final form. Tcl v7 and TK v3 are required to compile
  558.   it. --Toivo Pedaste <toivo@uniwa.uwa.edu.au> [8.94]
  559.  
  560.   ftp://ftp.uwa.edu.au/pub/nn/contrib/nn-tk.alpha.tar.Z            935k
  561.   
  562.   In nn-6.5.0beta, there is a simple text panel, with highlighting and
  563.   mouse sensitivity within an xterm. [10.93]
  564.  
  565.  
  566. Subject: ***** Building nn *****
  567. From: 2.
  568.  
  569.  
  570. Subject: What machines does nn run on?
  571. From: 2.1
  572.  
  573.   Please send updates to nn-bugs@dkuug.dk. [10.93]
  574.  
  575.   Operating systems:
  576.  
  577.   3b1 (UNIX-pc) with GCC        SunOS 3
  578.   NeXT 1.0                SunOS 4.0
  579.   AIX 2.2.1                SunOS 4.1 SysV environment
  580.   A/UX 1.1                System V
  581.   4.2 BSD and Ultrix systems        Motorola System V/88 Release 3
  582.   4.3 BSD systems            Texas Instruments System 1500
  583.   dnix 5.2 on DIAB DS90            NCR tower
  584.   dnix 5.3 on DIAB DS90            ULTRIX systems (4.2 based)
  585.   Dynix 3.0 on Symmetry            Mips running riscos 4.0 or greater
  586.   Fortune 32:16                Riscos 4.5 and later
  587.   HPUX (series 300)            Microport UNIX V.2
  588.   HPUX 2.1 (series 800)            Amdahl UTS 2.0
  589.   HPUX 3.0 (series 800)            SCO Xenix 2.2.1 (286) -- terminfo
  590.   HPUX 6.5 or newer (series 300)    SCO Xenix 286 -- termcap
  591.   HPUX 7.0                Xenix386 [termcap version]
  592.   Interactive UNIX on 386        Xenix386 2.3.2 w/development system
  593.   Dynix/PTX on symmetry            Tandy 68000/Xenix 3.2
  594.   Pyramid (and Targon 35)
  595.   SCO UNIX V on 386
  596.   IRIX 3.1/3.2
  597.   Siemens SINIX
  598.  
  599.   Hardware platforms:
  600.  
  601.   3b1 with GCC [no networking]        MIPS processors
  602.   Amdahl 5890 (big iron)        Siemens MX300
  603.   AT&T 3b2                Pyramid (and Targon 35)
  604.   Convex                IBM 6150
  605.   DECstation 3100            Silicon Graphics 4D series
  606.   Gould PN6000                SPARC processors
  607.   HP9000 series 320 and 800 (at least)    80386 based SUNs [have network support]
  608.   Intel 80286 [no networking]        Sequent Symmetry
  609.   Intel 80386 [no networking]        VAX family
  610.   Motorola 68000 family
  611.   Motorola 88000 risc
  612.  
  613.   
  614. Subject: Is it possible to restrict the groups that users have access to?
  615. From: 2.2
  616.  
  617.   Create a new group for the people who can read the special groups.
  618.   Call it "privnews", for example. (In /etc/group put the user id of
  619.   each person who's in that group on that group's line.)  Then change
  620.   the group of the spool directory which contains the restricted
  621.   newsgroup to "privnews" (leaving the owner as news), and set the
  622.   mode to 750. --Alexis Rosen <alexis@panix.com>
  623.  
  624.   Note that this only works if you are not using NNTP to read news.
  625.   There is currently no mechanism that will allow this to work with
  626.   NNTP. --Steve Simmons <scs@wotan.iti.org> [1.93]
  627.  
  628.   
  629. Subject: ! Unofficial patches for various bugs
  630. From: 2.3
  631.  
  632.   Several bugs have been reported and fixed and the patches are
  633.   available here for those not patient enough to wait until the next
  634.   release.
  635.  
  636.   Remember, these are *unofficial* patches so back them out before
  637.   patching in the next release of nn.  You do not have to strip the
  638.   two leading spaces before these patches.  In fact you can run "patch
  639.   -s -N < this-entire-faq", within the newsreader even!
  640.  
  641.   The patch in Appendix "pack_date.c" fixes NN dateline parsing.
  642.   Also, NN mishandles non-GMT time zones near short month boundaries
  643.   due to NN's, er, somewhat unusual time stamp encoding.  It is
  644.   included in nn version 6.5.0.  --Paul Eggert <eggert@twinsun.com>
  645.   [10.93]
  646.  
  647.   If you want to use NNTP, even if the server is the local host, use
  648.   the patch in Appendix "nntp.c." --Henrik Storner <storner@olicom.dk>
  649.   [11.94]
  650.   
  651. Subject: Can I set up nn securely?
  652. From: 2.4
  653.  
  654.   Diffs are unfortunately not included, but this is what you can do:
  655.  
  656.   o Set shell-restrictions in the setup file.
  657.   o Set and lock *every* variable which is used to execute commands.
  658.   o Modify the source to avoid display/save/print files above the
  659.     home-directory if shell-restrictions is set (mainly in save.c).
  660.   o Modify the source to avoid changing directories if shell-restrictions
  661.     is set.
  662.   o Modify the source to avoid showing the contents of locked variables.
  663.  
  664.   In particular, the following variables should be locked:
  665.  
  666.   backup-folder-path, backup-suffix, bug-report-address, decode-header-file,
  667.   editor, folder, inews, mail, mail-record, mailer, news-record, newsrc,
  668.   pager, patch-command, printer, record, spell-checker, unshar-header-file
  669.  
  670.  
  671. Subject: ***** Command Input *****
  672. From: 3.
  673.  
  674.  
  675. Subject: ***** Selection Mode *****
  676. From: 4.
  677.  
  678.  
  679. Subject: How come nn doesn't show the Lines count?
  680. From: 4.1
  681.  
  682.   Karl Kleinpaste writes:
  683.     C News sites can turn on Lines: header creation (we do here), but
  684.     the default has it turned off.  I wish more would turn it on, as
  685.     several newsreaders put it to use, and it's the most easily
  686.     available metric of article size when showing the user a menu of
  687.     available articles.
  688.  
  689.   Henry Spencer replies:
  690.     We're unenthusiastic about Lines:, which is why it's off by default
  691.     and little-documented.  *The* most easily available metric of
  692.     article size is not line count -- which is often slightly wrong, by
  693.     the way -- but byte count, which is available without even parsing
  694.     the headers.
  695.  
  696.     You can tell C News to add Lines: headers to articles *posted*
  697.     locally, but C News has no provision for adding headers to traffic
  698.     coming in from other sites.  [Specifically, search for the string
  699.     "uncomment" in inews, and uncomment those lines. --bw]
  700.  
  701.   But Paul Eggert <eggert@twinsun.com> and Luc Rooijakkers
  702.   <lwj@cs.kun.nl> provide a solution:
  703.  
  704.     Remember, these are *unofficial* patches so back them out before
  705.     patching in the next release of nn.  You do not have to strip the
  706.     two leading spaces before these patches.  In fact you can run
  707.     "patch -s -N < this-entire-faq", within the newsreader even!  A
  708.     variation of this patch is included in nn version 6.5.0.  See
  709.     Appendix "news.c" [10.93]
  710.  
  711.   Finally, Peter Wemm <peter@dialix.oz.au> says that you'll always get
  712.   the lines header if you run INN.
  713.  
  714.   
  715. Subject: Why does nn crash when an invalid letter is selected?
  716. From: 4.2
  717.  
  718.   This is fixed in patch 17.  [9.92]
  719.  
  720.   Your terminal modes will be screwed up after such an event, so
  721.   you'll have to type ^J (or LINE-FEED) repeatedly until a prompt is
  722.   seen, and then run
  723.  
  724.     stty -sane^J
  725.  
  726.   or
  727.  
  728.     reset
  729.  
  730.   
  731. Subject: How do I search for an author in a menu?
  732. From: 4.3
  733.  
  734.   Add the following macro to your init file (~/.nn/init) and invoke
  735.   via '_' (underscore).
  736.  
  737.   # _ does search on sender (as = does a search on subject)
  738.   map menu _ (
  739.     :set select-on-sender
  740.     find input
  741.     :unset select-on-sender
  742.     message
  743.   )
  744.  
  745.   [1.93]
  746.  
  747.   
  748. Subject: + How do I select all articles in one fell swoop?
  749. From: 4.4
  750.  
  751.   Type "=.*" and hit return.  The pattern ".*" matches anything.
  752.  
  753.  
  754. Subject: ***** Reading Mode Commands *****
  755. From: 5.
  756.  
  757.  
  758. Subject: How can I see the original article with the current subject?
  759. From: 5.1
  760.  
  761.   While reading an article, use "G RET RET RET".
  762.  
  763.   
  764. Subject: Why do articles without a Lines header appear empty?
  765. From: 5.2
  766.  
  767.   This problem only shows up if you have header-lines set to a string
  768.   that includes "L".  It is suspected that having the line count patch
  769.   sets something that makes nn think there is a Lines header and then
  770.   the header-string is telling it to display the Lines header but
  771.   there isn't one and things get messed up.  --Gary Morris
  772.   <garym@telesoft.com>
  773.  
  774.   
  775. Subject: Can the article viewer/pager be changed?
  776. From: 5.3
  777.  
  778.   No.  And for good reason.  There are too many commands in nn's pager
  779.   that less, for example, doesn't know anything about.
  780.  
  781.   
  782. Subject: How can I read MIME (multi-media mail) articles?
  783. From: 5.4
  784.  
  785.   Using metamail, you can do one of the following:
  786.  
  787.   "Print" the message.  Use the "P" command and:
  788.  
  789.     set printer metamail
  790.  
  791.   "save" the message.  Use "s" and specify "|metamail" as a filename.
  792.  
  793.   metamail can be found at:
  794.  
  795.   ftp://thumper.bellcore.com/pub/nsb/mm2.7.tar.Z
  796.  
  797.   [5.94]
  798.  
  799.   
  800. Subject: How can I read HTML (World Wide Web, Mosaic) articles?
  801. From: 5.5
  802.  
  803.   Add the following to ~/.nn/init.  The "lynxify" script is in the
  804.   Appendix.
  805.  
  806.     map show ^F (
  807.         save-full "|lynxify"
  808.         redraw
  809.     )
  810.  
  811.   When reading the article with HTML references, use C-f.  Note that
  812.   just "ftp://ftp.ii.com/pub/ii" won't be enough; you'd need to see
  813.   something like <A HREF="ftp://ftp.ii.com/pub/ii">Nancy McGough,
  814.   Infinite Ink</A> for lynx to pick it up.
  815.  
  816.   
  817. Subject: Why am I reading cross-posted articles more than once?
  818. From: 5.6
  819.  
  820.   If you are using nnmaster and the cross-post detection is broken,
  821.   then something's wrong that I'm not aware of.
  822.  
  823.   If you are using the NOV .overview database, and are not storing the
  824.   full Xref header, then that will cause it.  --Peter Wemm
  825.   <peter@DIALix.oz.au> [5.94]
  826.  
  827.   If you're running INN, edit /usr/lib/news/overview.fmt and uncomment
  828.   the line with 'Xref:full' in it.  If you're running Cnews with the
  829.   NOV patches, you'll have to edit mkov.c (I think) appropriately and
  830.   recompile; the code for putting Xref: in the NOV database is in
  831.   there, just commented out. --Richard Todd
  832.   <rmtodd@servalan.servalan.com> [5.94]
  833.  
  834.  
  835. Subject: ***** Saving Articles *****
  836. From: 6.
  837.  
  838.  
  839. Subject: How do I save files that I can read later with MH, elm, Mail, ...?
  840. From: 6.1
  841.  
  842.   MH:
  843.      Save your files with +$F/$N.  For example, if you save message 10
  844.      in news.software.nn in this way, you will create a file called
  845.      ~/News/news/software/nn/10.  If you have a symbolic link from
  846.      ~/Mail/news to ~/News, then you can look at your saved nn
  847.      messages with "scan +news/news/software/nn".
  848.  
  849.   Mail
  850.      Add "set mail-format" to your init file.
  851.  
  852.   
  853. Subject: What's the best way to save multi-part articles?
  854. From: 6.2
  855.  
  856.   All you have to do is to save the articles from the menu, e.g.
  857.  
  858.     W(rite) +file.* a b c d... <space>
  859.  
  860.   where a b c d... are the articles on the menu you want to save.  You
  861.   can also save the selected articles on the menu with * (only on
  862.   current page) or + (on all menu pages).  --Kim Storm <storm@olicom.dk>
  863.  
  864.   
  865. Subject: When saving in +a/b/c keeps you from saving in +a/b.
  866. From: 6.3
  867.  
  868.   This happens when default-save-file is $F.  Try changing
  869.   default-save-file to $F/$N (my favorite) to get, for example,
  870.   +news/software/nn/1022, or $G to put everything in
  871.   +news.software.nn.  Finally, if you really did want the behavior of
  872.   +$F, a compromise would be to use +$F. (Andrew's favorite) instead
  873.   (one can use anything other than '.'). --Bill Wohler
  874.   <wohler@newt.com> & Andrew Swann <swann@imada.ou.dk>
  875.  
  876.   Alternatively, use +$F/$L, to place articles for news.software.nn in
  877.   the file +/news/software/nn/nn.  This has two advantages:
  878.   1) You can later read through the folder "nn" and save some of the
  879.     articles under new folder names having to do with the topic.  For
  880.     example, you might save auto-select topics under +$F/auto-sel,
  881.     that is, +/news/software/nn/auto-sel.
  882.   2) If at a later date, a new newsgroup is added below nn, articles
  883.     can still be saved under that subgroup since +/news/software/nn is
  884.     already a directory, not a folder.  --Harry Herman <herman@corpane.uucp>
  885.  
  886.   
  887. Subject: How can I change the default name of a save file?  
  888. From: 6.4
  889.  
  890.   The variable default-save-file controls how files are named.  By
  891.   default, the value of default-save-file is +$F (components of the
  892.   newsgroup become directories, last component is the file name--[Q6.3
  893.   When saving in +a/b/c keeps you from saving in +a/b] discusses why
  894.   this isn't a good idea).  However, most sites change that to +$G
  895.   (file has the same name as the newsgroup) in the system init file.
  896.   --Bill Wohler <wohler@newt.com> [8.94]
  897.  
  898.   You can also set default save files on a per-newsgroup level.  To do
  899.   this, add the default save file to the newsgroup in your sequence
  900.   (in ~/.nn/init).  For example,
  901.  
  902.     news.software.nn        +nn
  903.  
  904.   --Sven Guckes <guckes@inf.fu-berlin.de> [8.94]
  905.  
  906.   If you don't want to have any default at all, add 
  907.  
  908.     unset suggest-default-save
  909.  
  910.   to ~/.nn/init. --Alex Martelli <alex@uqbar.cirfid.unibo.it> [8.94]
  911.  
  912.   
  913. Subject: ! Can I save all unread articles non-interactively into a file?
  914. From: 6.5
  915.  
  916.   rn has some options to do this.  See the man page for details. [8.94]
  917.  
  918.   See also [Q6.6 "Can I download news to my PC?"]
  919.  
  920.   
  921. Subject: + Can I download news to my PC?
  922. From: 6.6
  923.  
  924.   Henrik Roseno <hero@login.dkuug.dk> writes that
  925.   alt.usenet.offline-reader provides some programs that are designed
  926.   just for this purpose.  Uqwk gathers the articles (into a SOUP or
  927.   BlueWave packet ?), and Yarn is a program that lets you read them
  928.   once you've downloaded them to your PC.  Use archie to find them
  929.   nearby. --Bill Wohler <wohler@newt.com> [8.94]
  930.  
  931.   Get a SOUP-compatible reader.  QWK is fundamentally broken for news
  932.   reading, whereas SOUP uses Usenet's native formats.  Information
  933.   about SOUP can be found in the FAQ for comp.os.msdos.mail-news.
  934.   --Rhys Weatherley <rhys@fit.qut.edu.au> [11.94]
  935.  
  936.   Take a look at ftp://oak.oakland.edu/SimTel/msdos/uucp/00_index.txt.
  937.   You need to download great masses of the NNTP database in order to
  938.   use Yarn!  --Tony Nugent <T.Nugent@sct.gu.edu.au> [11.94]
  939.   
  940.   You can find uqwk at ftp://ftp.gte.com/pub/uqwk.  Yarn can be found
  941.   at ftp://oak.oakland.edu/pub/msdos/offline.  --Wesley Dudzinski
  942.   <wesleyd@rahul.net> [11.94]
  943.  
  944.   See also [Q6.5 "Can I save all unread articles non-interactively
  945.   into a file?"].
  946.  
  947.  
  948. Subject: ***** Folder Maintenance *****
  949. From: 7.
  950.  
  951.  
  952. Subject: How can I remove old articles from folders?
  953. From: 7.1
  954.  
  955.   Just open the folder in the usual way and C(ancel) the articles you
  956.   want to remove from the folder.  When you leave the folder, nn will
  957.   rewrite the folder with the "cancel"ed articles removed.  --Kim
  958.   Storm <storm@olicom.dk>
  959.  
  960.  
  961. Subject: ***** Posting and Responding to Articles *****
  962. From: 8.
  963.  
  964.  
  965. Subject: How can I post prewritten articles with nn?
  966. From: 8.1
  967.  
  968.   nnpost will construct the header for the posted article, so it
  969.   requires several arguments to be specified before the article is
  970.   posted, e.g. a newsgroup name and a subject.  If some arguments are
  971.   missing, nnpost will prompt for the missing arguments.
  972.  
  973.   If your pre-written article includes a full header, then you should
  974.   not use nnpost; instead you should feed the article to "inews -h"
  975.   directly (which is what nnpost does after building the header from
  976.   the arguments).  --Kim Storm <storm@olicom.dk>
  977.  
  978.   
  979. Subject: ! How can nn automatically append my signature?
  980. From: 8.2
  981.  
  982.   Put your signature in a file called .signature in your home
  983.   directory, and use:
  984.  
  985.     set append-signature-post
  986.     set append-signature-mail    # if desired
  987.     set query-signature        # if you want confirmation.
  988.  
  989.   See also [Q8.3 "How do I eliminate double signatures?"] and [Q8.4
  990.   "Can the signature come from a different file or program?"] and the
  991.   Signature FAQ [Q1.4 "What references exist for nn?"] [11.94]
  992.  
  993.   
  994. Subject: How do I eliminate double signatures?
  995. From: 8.3
  996.  
  997.   Double signatures occur when both nn and inews append $HOME/.signature.
  998.  
  999.   If you want just inews to append your signature, use:
  1000.  
  1001.     unset append-signature-post
  1002.  
  1003.   This is actually the default, but you can unset this variable if
  1004.   your nn administrator has mistakenly turned it on.
  1005.  
  1006.   If you want just nn to append your signature, move your signature to
  1007.   some other place than $HOME/.signature.  Then see, [Q8.4 "Can the
  1008.   signature come from a different file or program?"]
  1009.  
  1010.   
  1011. Subject: ! Can the signature come from a different file or program?
  1012. From: 8.4
  1013.  
  1014.   If you want nn to append your .signature file, you can copy nn's aux
  1015.   file (ie. /usr/local/lib/nn/aux) to your .nn directory and set the
  1016.   mail-script and news-script variables to ~/.nn/aux.  In your copy of
  1017.   the aux script, you can either specify a different place for your
  1018.   .signature file (like $HOME/.nn/signature) or you can get fancy: you
  1019.   can use specific .signatures for certain groups (saved in variable
  1020.   "G"), or use the output of a program.  --Bill Wohler <wohler@newt.com>
  1021.  
  1022.   Tired of the same old signature?  Want different signatures for
  1023.   different newsgroups?  Here's a program to help you out.
  1024.  
  1025.   The way it works is to have .signature be a named pipe, so if you
  1026.   don't have named points, just say 'n'.
  1027.  
  1028.   The sigrand program then feeds stuff down the pipe everytime someone
  1029.   wants to read it.  That way it works for more than just news, but
  1030.   for anything that wants to read your .signature, like a mailer.
  1031.  
  1032.   You have your choice of three kinds of signatures:
  1033.  
  1034.       1) random (short) fortune from "fortune -s"; you get these if
  1035.      you don't have a global sig file.
  1036.       2) random fortune from ~/News/SIGNATURES [global sig file]
  1037.       3) random fortune form ~/News/(newsgroup)/SIGNATURES [local sig files]
  1038.  
  1039.   Ask Tom Christiansen <tchrist@perl.com> for more details. [11.94]
  1040.  
  1041.   See also the Signature FAQ [Q1.4 "What references exist for nn?"].
  1042.   [11.94]
  1043.   
  1044. Subject: How do I save my posts, followups and replies automatically?
  1045. From: 8.5
  1046.  
  1047.   In your nn init file, use the following lines:
  1048.  
  1049.     set news-record file
  1050.     set mail-record file
  1051.  
  1052.   to place posts and followups in one file and replies in another, or
  1053.   to put everything in a single file, use:
  1054.  
  1055.     set record file
  1056.  
  1057.   Replace "file" with the absolute path (~ == home directory ok) of
  1058.   your desired file.  All files are saved in mailbox format.  --Don
  1059.   Mullins <mullins@convex.com> [9.92]
  1060.  
  1061.   
  1062. Subject: Can I use my editor to edit posts and replies?
  1063. From: 8.6
  1064.  
  1065.   Yes.  Set the environment variable EDITOR as desired.  If you like
  1066.   emacs:
  1067.  
  1068.     $ EDITOR=emacs; export EDITOR            # sh, ksh, bash
  1069.       % setenv EDITOR emacs                # csh, tcsh.
  1070.  
  1071.   Alternatively, you can add:
  1072.  
  1073.     set editor emacs
  1074.  
  1075.   to ~/.nn/init. --Bill Wohler <wohler@newt.com> [8.94]
  1076.  
  1077.   
  1078. Subject: Can I use my mailer to send mail?
  1079. From: 8.7
  1080.  
  1081.   Yes.  See the variables mail-script, mailer, and mailer-pipe-input.
  1082.   The following show how you can have nn use elm and MH to mail
  1083.   messages.  Note that this does not replace the internal mailer: the
  1084.   message is passed on to the selected mailer for further delivery.  [5.94]
  1085.  
  1086.   The original idea of using MH (namely, comp) to send mail from nn
  1087.   came from Jaap Vermeulen <jaap@sequent.com>, but he wouldn't
  1088.   recognize what I did to it.  I also used a suggestion from John
  1089.   Romine <jromine@ics.uci.edu> and Tom McCain <tom@dynamo.ecn.purdue.edu>.
  1090.  
  1091.   Add
  1092.  
  1093.     set mail-script nn-use-mh
  1094.  
  1095.   to your init file.  See Appendix "nn-use-mh" for the script.
  1096.  
  1097.   In addition, you can contact Ray Davis <rdavis@convex.com> for some
  1098.   scripts that sort of turn nn into a MH front end by providing macros
  1099.   to save, delete and refile articles in MH folders.
  1100.  
  1101.   To use elm to send the messages, add the following to ~/.nn/init:
  1102.  
  1103.     set   mailer              nn_elm
  1104.     unset mailer-pipe-input
  1105.  
  1106.   and see Appendix "nn_elm" for the script. [1.93]
  1107.  
  1108.   
  1109. Subject: Can nn use aliases when sending mail?
  1110. From: 8.8
  1111.  
  1112.   Yes.  See the variable mail-alias-expander, and use the script in
  1113.   Appendix "nnalias."  [1.93]
  1114.  
  1115.   
  1116. Subject: How can I set a different Organization name?
  1117. From: 8.9
  1118.  
  1119.   See [Q8.12 "How can I customize my mail headers for mail and
  1120.   posting?"] [9.92]
  1121.  
  1122.   
  1123. Subject: How can I make mail replies go to a different machine?
  1124. From: 8.10
  1125.  
  1126.   See [Q8.12 "How can I customize my mail headers for mail and
  1127.   posting?"]  [9.92]
  1128.  
  1129.   
  1130. Subject: How can I change how my real name appears?
  1131. From: 8.11
  1132.  
  1133.   On BSD UNIX systems, you can run the command chfn(1) to change your
  1134.   real name.  If you don't want to do this, or can't, please see [Q8.12
  1135.   "How can I customize my mail headers for mail and posting?"]  [9.92]
  1136.  
  1137.   
  1138. Subject: How can I customize my mail headers for mail and posting?
  1139. From: 8.12
  1140.  
  1141.   Headers can be modified or appended to by creating the variables
  1142.   mail-header (for replies) and news-header (for posts and followups)
  1143.   in the init file. You can include any headers that you want;
  1144.   separate multiple headers with semi-colons.  For example:
  1145.  
  1146.   set mail-header From: Joe Smith <js@cc.edu>;Reply-To: js@cc.edu;
  1147.           Organization: CC University
  1148.   set news-header From: Joe Smith <js@cc.edu>;Reply-To: js@cc.edu;
  1149.           Organization: CC University
  1150.  
  1151.   Note that these lines are split for readability--the value of these
  1152.   variables must appear on a single line.  In addition, do not insert a
  1153.   space between semi-colons and the next header.
  1154.  
  1155.   A Reply-To header is useful when your system generates either an
  1156.   unwanted or blatantly wrong return address for you.  If this header
  1157.   is present, then mailers use it instead of the system generated From
  1158.   header.
  1159.  
  1160.   A From header is useful when you want to change how your real name
  1161.   appears to nn readers, but you don't want to change it (or can't) on
  1162.   your system.  Warning: only do this if you're sure you can create a
  1163.   RFC 822 compliant From header.  [9.92]
  1164.  
  1165.  
  1166. Subject: ***** Jumping to Other Groups *****
  1167. From: 9.
  1168.  
  1169.  
  1170. Subject: How can I see which newsgroups are available?
  1171. From: 9.1
  1172.  
  1173.   To see a list of all news groups with a short description, use the
  1174.   command ":post" and type '?'.  To list groups that match a regular
  1175.   expression (ie. pattern), use "/pattern" instead of '?'.  --<Sven
  1176.   Guckes> guckes@math.fu-berlin.de
  1177.  
  1178.   Also try using '?' when going to a group with the 'G' command.  Note
  1179.   that successive '?'s will display more groups when there is not
  1180.   enough room to display all choices at once.  Group completion is
  1181.   achieved with ' ' (space).
  1182.  
  1183.   Finally, the programs "nnsub" or "eep" can be used to easily view
  1184.   newsgroup names and descriptions and also to subscribe to groups.
  1185.   These programs are in the "contrib" area of the sources in 6.5.0.
  1186.  
  1187.   [10.93]
  1188.  
  1189.  
  1190. Subject: ***** Automatic Kill and Selection *****
  1191. From: 10.
  1192.  
  1193.  
  1194. Subject: Can non-selected subjects be automatically placed in my kill file?
  1195. From: 10.1
  1196.  
  1197.   The two variables, ignore-re and auto-select-rw, accomplish this
  1198.   task.  They are available in version 6.5.0.  In the meantime,
  1199.   patches may be obtained from ftp://dkuug.dk/pub/nn6.4/nn6.4.killunread.
  1200.   --Keld J|rn Simonsen <keld@dkuug.dk>. [1.93]
  1201.  
  1202.   
  1203. Subject: Can I automatically kill articles based on the Newsgroups header?
  1204. From: 10.2
  1205.  
  1206.   This is how one can automatically kill crossposted articles, etc.
  1207.  
  1208.   First, manually either add the following to your .newsrc to mark all
  1209.   articles read forever:
  1210.  
  1211.     alt.flame: 1-2147483647
  1212.  
  1213.   or add the following to your .nn/kill file to kill all articles in
  1214.   the group:
  1215.  
  1216.     alt.flame:!s/:^
  1217.  
  1218.   The former method may break down if you ever use nngoback to reset
  1219.   numbers in your .newsrc.  The latter method could cause difficulty
  1220.   if you ever actually want to read articles in that group.
  1221.  
  1222.   Near the top of your sequence in your init file put
  1223.  
  1224.     !alt.flame.
  1225.     alt.flame
  1226.  
  1227.   This makes alt.flame, but not its subgroups, be included as the first
  1228.   thing in your sequence; so all articles in it are killed before they
  1229.   appear in any other groups.  You might want to put NEW above this so
  1230.   you can see if new groups are getting off to a bad start with lots of
  1231.   alt.flame crossposting.  Later in the sequence put
  1232.  
  1233.     % alt %
  1234.  
  1235.   This allows the rest of the alt hierarchy, including subgroups such
  1236.   as alt.flame.spelling (if you subscribe to it), to get included at
  1237.   that point in the sequence.
  1238.  
  1239.   Along with using the default settings of cross-filter-seq=true and
  1240.   cross-post=false, this works fine to nuke the crossposted articles.
  1241.   --Richard M. Mathews <richard@locus.com> & Dave Shaver <shaver@convex.com>
  1242.  
  1243.   
  1244. Subject: How can I find all articles having to do with a certain topic?
  1245. From: 10.3
  1246.  
  1247.   nngrab invokes nn on all articles whose subject or keyword fields
  1248.   contain a desired keyword.  This shows one how important it is to
  1249.   use descriptive subjects and keywords when posting articles.  For
  1250.   more information, read the manual page.
  1251.  
  1252.   
  1253. Subject: Can I select one article in a thread when auto-select-subject set?
  1254. From: 10.4
  1255.  
  1256.   Define the following macro to toggle auto-select-subject.  --Steven
  1257.   Grady <grady@fx.com>
  1258.  
  1259.     map menu A (
  1260.         :local auto-select-subject
  1261.         :toggle auto-select-subject
  1262.         ?auto-select-subject=on echo "Auto-select on"
  1263.         ?auto-select-subject=off echo "Auto-select off"
  1264.     )
  1265.  
  1266.   Use the '.' command.
  1267.  
  1268.   
  1269. Subject: Can one search for patterns in the entire article from the menu?
  1270. From: 10.5
  1271.  
  1272.   No.  However, in 6.5.0, there will be an additional option under the
  1273.   'G' command to create a submenu containing articles that contain the
  1274.   desired string.  As it is not yet well tested, it will be a compile
  1275.   time feature.  --Peter Wemm <peter@dialix.oz.au> [10.93]
  1276.  
  1277.   
  1278. Subject: How come more articles get selected than I expect?
  1279. From: 10.6
  1280.  
  1281.   Check the setting of subject-match-parts. If this is on, then your subjects
  1282.   are considered matched if they match up to the first digit. For example
  1283.   if subject-match-parts is on, the subjects:
  1284.  
  1285.     someprogram Part 1/5
  1286.     someprogram Part 2/5
  1287.  
  1288.   are considered matches. So are
  1289.  
  1290.     v12345: someprogram Part 1/5
  1291.     v12346: anotherprogram Part 1/23
  1292.  
  1293.   as the "v" is identical up to the first digit. If you want to use
  1294.   subject-match-parts in a "comp.sources" type group, set
  1295.   subject-match-offset (the character position that matches are
  1296.   started from) to be beyond any digits that might appear in the first
  1297.   part of the subject.  --Dave Hayes <dave@elxr.jpl.nasa.gov>
  1298.  
  1299.   
  1300. Subject: Any plans for trn-ish thread following?
  1301. From: 10.7
  1302.  
  1303.   "Yes, it's planned."  --Peter Wemm <peter@dialix.oz.au> [10.93]
  1304.  
  1305.   
  1306. Subject: + Can one kill articles based on the number of lines?
  1307. From: 10.8
  1308.  
  1309.   No. [11.94]
  1310.  
  1311.   
  1312. Subject: + Why is nn 6.5.0b3 ignoring my kill file?
  1313. From: 10.9
  1314.  
  1315.   Unknown.  You can work around the problem by touching the kill file.
  1316.   --Pierre Lewis <lew@bnr.ca> [11.94]
  1317.  
  1318.  
  1319. Subject: ***** The Format of the Kill File *****
  1320. From: 11.
  1321.  
  1322.  
  1323. Subject: ***** Miscellaneous Commands *****
  1324. From: 12.
  1325.  
  1326.  
  1327. Subject: Can I choose newsgroups as I do articles, ie. with a menu?
  1328. From: 12.1
  1329.  
  1330.   No, not yet.  Sorry.  However, progress in this direction has been
  1331.   made--if you care to finish the work, please contact Peter Wemm
  1332.   <peter@dialix.oz.au>. [12.92]
  1333.  
  1334.   See also [Q9.1 "How can see which newsgroups are available?"]  [1.93]
  1335.  
  1336.   Outside of nn, you may wish to check out eep which is in the
  1337.   contributed area in 6.5.0.  --Peter Wemm <peter@dialix.oz.au> [10.93]
  1338.  
  1339.   
  1340. Subject: How do I unsubscribe to all groups?
  1341. From: 12.2
  1342.  
  1343.   The file .newsrc in your home directory contains the information
  1344.   about the newsgroups, their subscription status and the numbers of
  1345.   the read articles.  A colon (':') indicates a subscribed group, and
  1346.   an exclamation mark ('!') indicates an unsubscribed group.  All you
  1347.   need to do for unsubscribing to all newsgroups is to edit .newsrc.
  1348.   You can do this with your favourite editor, or
  1349.  
  1350.     sed -e 's/:/!/' $HOME/.newsrc > foo
  1351.     mv foo .newsrc
  1352.  
  1353.   If you use csh, you have to escape the '!' with a '\'.  --Sven
  1354.   Guckes <guckes@math.fu-berlin.de> [3.93]
  1355.  
  1356.   
  1357. Subject: How can I get nn to stop adding new newsgroups?
  1358. From: 12.3
  1359.  
  1360.   Add
  1361.  
  1362.     set new-group-action 0
  1363.  
  1364.   to ~/.nn/init. --Jason A Chase <jchase@netcom.com> [8.94]
  1365.  
  1366.   However, what you might want to do instead is not see new groups in
  1367.   selected hierarchies.  I've added the following to my sequence (in
  1368.   ~/.nn/init):
  1369.  
  1370.     # Don't bother with new groups in these hierarchies.
  1371.     !:N alt,de,u3b,vmsnet,eunet,bionet,bit,biz,trial,psi,k12,nirvana
  1372.  
  1373.   The key one is alt!  --Bill Wohler <wohler@newt.com> [8.94]
  1374.  
  1375.  
  1376. Subject: ***** The Init Files *****
  1377. From: 13.
  1378.  
  1379.  
  1380. Subject: How do I customize nn or change nn's behavior?
  1381. From: 13.1
  1382.  
  1383.   Modify the file ~/.nn/init.  See the section "The Init Files" in the
  1384.   man page for more details.  So that you know what else might be
  1385.   affecting nn, here's the beginning of that chapter:
  1386.  
  1387.   The init files are used to customize nn's behavior to local
  1388.   conventions and restrictions and to satisfy each user's personal
  1389.   taste.  Normally, nn reads up to three init files on start-up if
  1390.   they exist (all init files are optional):
  1391.  
  1392.   $LIB/setup 
  1393.     A system-wide file located in the library directory. This file
  1394.     is always loaded before any other init file (even when the -I
  1395.     option is specified).  It cannot contain a group presentation
  1396.     sequence.
  1397.  
  1398.   $LIB/init
  1399.     Another system-wide (global) init file located in the library
  1400.     directory.  This file may be ignored via the -I option.
  1401.  
  1402.   ~/.nn/init
  1403.     The private init file located in the user's .nn directory. It
  1404.     is read after the global init file to allow the user to change
  1405.     the default setup.
  1406.  
  1407.   
  1408. Subject: + How can nn be used when multiple users share the same login?
  1409. From: 13.2
  1410.  
  1411.   Create aliases of the form:
  1412.  
  1413.     alias nn-user1 'nn -I$HOME/.nn/init-userN'        # csh
  1414.     alias nn-user1='nn -I$HOME/.nn/init-userN'        # bash, ksh
  1415.  
  1416.   Where $HOME/.nn/init-userN are separate init files for the users (or
  1417.   different environments).  Ensure that the following variables are
  1418.   different between the files:
  1419.  
  1420.     newsrc
  1421.     news-header 
  1422.     news-record
  1423.     mail-header 
  1424.     mail-record
  1425.     folder
  1426.     sequence
  1427.  
  1428.   --Nancy McGough <nancym@ii.com> & Bill Wohler <wohler@newt.com> [11.94]
  1429.  
  1430.  
  1431. Subject: ***** Variables and Options *****
  1432. From: 14.
  1433.  
  1434.  
  1435. Subject: Setting new-group-action to "ask before adding" doesn't work.
  1436. From: 14.1
  1437.  
  1438.   Take NEW out of your sequence--it's redundant.
  1439.  
  1440.   There was also a small bug (fixed in 6.5.0) which caused it to
  1441.   not to work in certain situations. --Peter Wemm <peter@dialix.oz.au>
  1442.   [10.93]
  1443.  
  1444.  
  1445. Subject: ***** Macro Definitions *****
  1446. From: 15.
  1447.  
  1448.  
  1449. Subject: ! Is there a library of macros and other nn features?
  1450. From: 15.1
  1451.  
  1452.   When complete, it will be a companion posting to this one.  If you
  1453.   have not mailed me <wohler@newt.com> your init file, or you have
  1454.   made substantial changes since the last time, please send it in.  If
  1455.   anyone is handy in perl or awk and would like to write some scripts
  1456.   to reduce multiple init files to variable summaries (like the one I
  1457.   posted a long time ago), macro definitions and presentation sequence
  1458.   tricks, I would like to talk to you.
  1459.  
  1460.   In the meantime, check out ftp://ftp.ii.com/pub/ii/Internet/NN.
  1461.   --Nancy McGough <nancym@ii.com> [11.94]
  1462.  
  1463. Subject: ***** Key Mappings *****
  1464. From: 16.
  1465.  
  1466.   
  1467. Subject: ***** Command Groups *****
  1468. From: 17.
  1469.  
  1470.   
  1471. Subject: ***** Group Presentation Sequence *****
  1472. From: 18.
  1473.  
  1474.  
  1475. Subject: ***** NN Maintenance & nnmaster *****
  1476. From: 19.
  1477.  
  1478.  
  1479. Subject: Why does nnmaster stop collecting articles at the "junk" group?
  1480. From: 19.1
  1481.  
  1482.   This can occur when you access news via NNTP.  Older nntp servers
  1483.   have a limitation of 4000 articles in a group, and junk may easily
  1484.   exceed this which makes the nntp server crash.
  1485.  
  1486.   To overcome the problem, edit the GROUPS file to add the X flag on
  1487.   the junk group, run nnmaster -G, and then nnmaster will ignore the
  1488.   junk group.  --Kim Storm <storm@olicom.dk>
  1489.  
  1490.   In nntp_dir/common/conf.h, you can either increase MAX_GROUPS
  1491.   (normally 4096) or you can set #define DYNAMIC_ART_ARRAY (normally
  1492.   #undefed).  In either case, you obviously have to recompile nntp.
  1493.  
  1494.   Normally, new groups are added as they come in, but the news
  1495.   administrator should monitor the junk newsgroup and either make new
  1496.   newsgroups for the orphan messages, or ensure that the feed stops
  1497.   sending bogus messages.  --Mark Rawling
  1498.   <Mark.Rawling@mel.dit.csiro.au> [3.93]
  1499.  
  1500.   
  1501. Subject: How do I cope with "Incomplete MASTER file"?
  1502. From: 19.2
  1503.  
  1504.   See [Q19.3 "Why isn't nnmaster working?"]
  1505.  
  1506.   
  1507. Subject: Why isn't nnmaster working?
  1508. From: 19.3
  1509.  
  1510.   After the make, did you remember to:
  1511.  
  1512.     Run ./inst <options> to install the files?
  1513.     Run ./inst INIT to initialize the database?
  1514.  
  1515.   Nnmaster mails error messages to the user who owns him (typically
  1516.   "news").  Check this mailbox for clues.
  1517.  
  1518.   If nnmaster -r or -D did not work, then neither did nnmaster -I (or
  1519.   ./inst INIT from the install directory).  Once you fix the
  1520.   permissions (see Paul's answer below), you need to rerun the
  1521.   initialization step.  --Stew Ellis <ellis@nova.gmi.edu>
  1522.  
  1523.   If nnmaster dies and updates the Log file with "Incomplete MASTER
  1524.   file", it could be you're not running the latest version.  --David
  1525.   R. Hieb <David.R.Hieb@magi.rootgroup.com>
  1526.  
  1527.   If, when you start your nnmaster, it just exits quietly, it could be
  1528.   that your permissions are incorrect.  Ensure that all directories in
  1529.   the nn library are owned by news (or the owner that you configured
  1530.   nn with).  --Paul Bickerstaff <pbickers@tamaluit.phys.uidaho.edu>
  1531.  
  1532.   Make sure that there is a 'news' entry in passwd and group since
  1533.   nnmaster is run setuid/setgid to news and the files and directories
  1534.   that nnmaster needs to access are owned and writable by news.  --Jim
  1535.   Jagielski <jim@jagubox.gsfc.nasa.gov> [9.92]
  1536.  
  1537.   Another problem could be in the way it is started.  Two related
  1538.   solutions are presented.
  1539.  
  1540.   /etc/rc exits before the child has had the chance to setpgrp().
  1541.   Putting "sleep 5" at the end of /etc/rc fixed it. --David B. Thomas
  1542.   <dt@yenta.alb.nm.us>
  1543.  
  1544.   Another similar solution involved inserting a "sleep 10" at the
  1545.   beginning of /etc/daemons/nnmaster.init file.
  1546.   --Jeffery Small <jeff@cjsa.wa.com>
  1547.  
  1548.   It could be you're not running the latest version.  --David R. Hieb
  1549.   <David.R.Hieb@magi.rootgroup.com>
  1550.  
  1551.   
  1552. Subject: Why did nnmaster stop working?
  1553. From: 19.4
  1554.  
  1555.   Perhaps you have a corrupted database that can't be fixed.  In this
  1556.   case, run "./inst INIT" from the installation procedure.  --Phil
  1557.   Howard <pdh@netcom.com> [5.94]
  1558.  
  1559.   nnmaster may exit when it encounters a corrupt header in an article
  1560.   from a nntpserver.  Restart nnmaster in debug mode (nnmaster -D) to
  1561.   see which group contains the offending article.  Ignore this group
  1562.   until the offending article has expired by editing the GROUPS file,
  1563.   adding the `X' flag to the newsgroup and running "nnmaster -G".
  1564.   Restart collection of the newsgroup by removing the `X' flag and
  1565.   running "nnmaster -G".  --Stew Ellis <ellis@nova.gmi.edu> [8.94]
  1566.  
  1567.   See also [Q19.3 "Why isn't nnmaster working?"]
  1568.  
  1569.   
  1570. Subject: Why do I get ".../MASTER not found"?
  1571. From: 19.5
  1572.  
  1573.   The problem of the NN port to the Atari ST is, that you have to
  1574.   build an "active" file (NN format, not HERMES-like!!) in
  1575.   /usr/lib/news before running nnadmin -I.
  1576.  
  1577.   You can build this file by using the included "buildact.tos."
  1578.   Buildact.tos creates a UNIX-like /usr/lib/news/active from
  1579.   /usr/lib/hermes/active. [9.92]
  1580.  
  1581.   
  1582. Subject: Why do I get "cannot open 'x' file"
  1583. From: 19.6
  1584.  
  1585.   If you get a message like,
  1586.  
  1587.     Fatal system error:
  1588.     alt.activism (6): cannot open 'x' file (mode=82, errno=2)
  1589.  
  1590.   you haven't initialized your database.  As root, run the following
  1591.   command "./inst INIT" in the nn source directory.  See the file
  1592.   INSTALLATION for more information.  --Sami Tikka <Sami.Tikka@hut.fi>
  1593.   [1.93]
  1594.  
  1595.   
  1596. Subject: ! Why do I get "Lost connection to server foobar"
  1597. From: 19.7
  1598.  
  1599.   It's possible that the two database files for a newsgroup (nnn.x and
  1600.   nnn.d) don't exist.  Go into nnadmin and force a recollect of the
  1601.   newsgroup.  Most of the newsgroups (which are missing nnn.x and
  1602.   nnn.d files) after the first problem newsgroup might be
  1603.   automatically collected without a problem.  If there are a large
  1604.   number of these problem groups, it might be easier just to rebuild
  1605.   the whole database: kill nnmaster, run "./inst INIT" as root in the
  1606.   source directory and restart nnmaster.  --Jeff Beckley
  1607.   <beckley@qualcomm.com>
  1608.  
  1609.   If the group in question has too many articles (>4000), it will
  1610.   cause older NNTP implementations to choke.  See [Q19.1 "Why does
  1611.   nnmaster stop collecting articles at the "junk" group?"] for a
  1612.   fix. [3.93]
  1613.  
  1614.   These are not relevant if you use NOV and not nnmaster. --Darren
  1615.   Hosking <dmh@tusc.com.au> [11.94]
  1616.  
  1617.   
  1618. Subject: Why doesn't nn display messages when not using NNTP?
  1619. From: 19.8
  1620.  
  1621.   If the database was built with NNTP, then nn has to use NNTP to read
  1622.   the messages.  This is not true in the other direction: nn clients
  1623.   can use NNTP to read the messages from a database built via NFS.
  1624.   The moral: build the database via NFS if you intend to use nn with
  1625.   either NFS or NNTP. --Michael Masterson <mjm@thumper.progcons.com>
  1626.   [8.94] 
  1627.  
  1628.   
  1629. Subject: Why do I get "Notice: no news has arrived for the last n hours"?
  1630. From: 19.9
  1631.  
  1632.   See [Q19.4 "Why did nnmaster stop working?"]. [8.94]
  1633.  
  1634.   
  1635. Subject: + How can I fix a "Master/GROUPS conflict"?
  1636. From: 19.10
  1637.  
  1638.   Run "nnmaster -G".  --Guan-Hsong Hsu <ghsu@unstable.nswc.navy.mil> [11.94]
  1639.  
  1640.  
  1641. Subject: ! Glossary
  1642. From: Appendix
  1643.  
  1644.   MIME        Multi-purpose Internet Mail Extensions (see RFC ?)
  1645.   NNTP        Network News Transport Protocol (see RFC 977)
  1646.   INN        Inter-Network News
  1647.   NOV        News OverView
  1648.  
  1649.   
  1650. Subject: Acknowledgments
  1651. From: Appendix
  1652.  
  1653. I'd like to thank the following people for providing ideas on the
  1654. layout of this article:
  1655.  
  1656. Joe Wells <jbw@bigbird.bu.edu>          Richard M. Stallman <rms@gnu.ai.mit.edu>
  1657. David Elliott <dce@smsc.sony.com>     Tom Christiansen <tchrist@perl.com>
  1658. Eugene N. Miya <eugene@nas.nasa.gov>
  1659.  
  1660.  
  1661. We are also grateful to the individuals mentioned below and in the
  1662. text of this document who have provided answers or other information
  1663. to make this a better document.  I regret that it is possible that
  1664. some names have been accidently omitted.  I would also like to thank
  1665. all the readers of news.software.nn.
  1666.  
  1667. Kim Storm <storm@olicom.dk>           Sven Guckes <guckes@math.fu-berlin.de>
  1668.  
  1669.   
  1670. Subject: ! Copyright and Warranty
  1671. From: Appendix
  1672.  
  1673.   Copyright 1994 Bill Wohler
  1674.  
  1675.   Permission to use, copy, distribute, and translate this document for
  1676.   any non-commercial purpose is hereby granted, provided that this
  1677.   copyright notice appears in all copies.  Commercial distributions
  1678.   require prior written consent.
  1679.  
  1680.   This article is distributed in the hope that it will be useful,
  1681.   but WITHOUT ANY WARRANTY; without even the implied warranty of
  1682.   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  1683.  
  1684.   
  1685. Subject: pack_date.c
  1686. From: Appendix
  1687.  
  1688.   *** old/pack_date.c    Wed Apr 17 01:32:40 1991
  1689.   --- new/pack_date.c    Thu Jun  4 20:03:02 1992
  1690.   ***************
  1691.   *** 4,9 ****
  1692.   --- 4,11 ----
  1693.      *    Calculate an approximate "time_stamp" value for a date
  1694.      *    string.  The actual value is not at all critical,
  1695.      *    as long as the "ordering" is ok.
  1696.   +  *    The current algorithm mishandles non-GMT time zones near
  1697.   +  *    short month boundaries, but this is rare in real news.
  1698.      *
  1699.      *    The result is NOT a time_t value, i.e. ctime() will
  1700.      *    not produce the original Date string.
  1701.   ***************
  1702.   *** 256,262 ****
  1703.         res *= 24 * 60;
  1704.         res += (hour * 60) + min;
  1705.  
  1706.   !     return res + tzone(date);
  1707.     }
  1708.  
  1709.  
  1710.   --- 258,264 ----
  1711.         res *= 24 * 60;
  1712.         res += (hour * 60) + min;
  1713.  
  1714.   !     return res - tzone(date);
  1715.     }
  1716.  
  1717.   
  1718. Subject: news.c
  1719. From: Appendix
  1720.  
  1721.   RCS file: news.c,v
  1722.   retrieving revision 1.1
  1723.   diff -c2 -r1.1 news.c
  1724.   *** news.c    1990/10/23 21:37:38    1.1
  1725.   --- news.c    1992/06/19 23:17:05
  1726.   ***************
  1727.   *** 231,235 ****
  1728.         char *parse_header();
  1729.         struct stat statb;
  1730.   !     int retry;
  1731.         FILE *f;
  1732.     #ifdef NNTP
  1733.   --- 231,235 ----
  1734.         char *parse_header();
  1735.         struct stat statb;
  1736.   !     int c, retry;
  1737.         FILE *f;
  1738.     #ifdef NNTP
  1739.   ***************
  1740.   *** 300,309 ****
  1741.         body = parse_header(f, art_hdr_field, modes, buffer1);
  1742.  
  1743.   -     news.ng_lines = news.ng_xlines ? atoi(news.ng_xlines) : -1;
  1744.         if (news.ng_from == NULL) news.ng_from = news.ng_sender;
  1745.  
  1746.   !     if (modes & FILL_OFFSETS) {
  1747.             art->fpos = news.ng_fpos = ftell(f);
  1748.  
  1749.             fseek(f, (off_t)0, 2);
  1750.             news.ng_lpos = ftell(f);
  1751.   --- 300,328 ----
  1752.         body = parse_header(f, art_hdr_field, modes, buffer1);
  1753.  
  1754.         if (news.ng_from == NULL) news.ng_from = news.ng_sender;
  1755.  
  1756.   !     if (modes & FILL_OFFSETS)
  1757.             art->fpos = news.ng_fpos = ftell(f);
  1758.  
  1759.   +     if (news.ng_xlines)
  1760.   +         news.ng_lines = atoi(news.ng_xlines);
  1761.   +     else {
  1762.   + #ifdef NNTP
  1763.   +         if (use_nntp && lazy) {
  1764.   +         off_t fpos = ftell(f);
  1765.   +         fclose(f);
  1766.   +         f = nntp_get_article(art->a_number, 2);
  1767.   +         if (f == NULL) return NULL;
  1768.   +         lazy = 0;
  1769.   +         fseek(f, fpos, 0);
  1770.   +         }
  1771.   + #endif
  1772.   +         news.ng_lines = 0;
  1773.   +         while ((c = getc(f)) != EOF)
  1774.   +         if (c == '\n')
  1775.   +             news.ng_lines++;
  1776.   +     }
  1777.   +
  1778.   +     if (modes & FILL_OFFSETS) {
  1779.             fseek(f, (off_t)0, 2);
  1780.             news.ng_lpos = ftell(f);
  1781.  
  1782.   
  1783. Subject: nn-use-mh
  1784. From: Appendix
  1785.  
  1786. #!/bin/sh
  1787.  
  1788. # Obtain value of $WORK and $RECORD
  1789. . ${HOME}/.nn/.param
  1790.  
  1791. # Append Fcc: +folder to headers.  The folder is specified in
  1792. # mail-record.
  1793. if [ "$RECORD" != "" ]; then
  1794.       awk '
  1795.       {
  1796.           if ($0 == "" && !done) {
  1797.               print "Fcc: +'$RECORD'";
  1798.               done = 1;
  1799.           }
  1800.           print;
  1801.       }' $WORK > /tmp/aux.$$ && mv /tmp/aux.$$ $WORK
  1802. fi
  1803.  
  1804. # Compose and send the mail
  1805. comp -form $WORK
  1806.  
  1807.   
  1808. Subject: nn_elm
  1809. From: Appendix
  1810.  
  1811. #!/bin/sh
  1812. #
  1813. # nn_elm
  1814. #
  1815. # 07 Aug 91             V1.0
  1816. #
  1817. # Massage a mail message from nn into a form that elm can use
  1818. # (c) 1991 Phil Kernick <phil@ringo.ssn.flinders.edu.au> Wizard Software
  1819. #
  1820.  
  1821. eval `awk '
  1822. BEGIN {
  1823.   FS = ":";
  1824.   dq = sprintf("%c", 34);
  1825.  
  1826.   headers = 0;
  1827.   to = "";
  1828.   subject = "";
  1829. }
  1830.  
  1831. /^.*: / {
  1832.   headers++;
  1833.   if($1 == "To")
  1834.     to = dq substr($0, 5) dq;
  1835.   if($1 == "Subject")
  1836.     subject = dq substr($0, 10) dq;
  1837. }
  1838.  
  1839. /^$/ {
  1840.     printf("tail +%d %s | elm -s %s %s > /dev/null\n", headers+2, mail, subject, to);
  1841.     exit;
  1842. }' mail=$1 $1`
  1843.  
  1844. exit $?
  1845.  
  1846.   
  1847. Subject: nnalias
  1848. From: Appendix
  1849.  
  1850. #!/bin/sh
  1851. #
  1852. # nnalias -- expands aliases from ~/.mailrc file for nn.
  1853. #
  1854. # To use, put the following in your ~/.nn/init file:
  1855. #
  1856. #    set mail-alias-expander nnalias
  1857. # and put this file somewhere in your path, making it executable.  I use
  1858. #    set mail-alias-expander /usr/local/lib/nnalias
  1859. # but the choice is up to you.
  1860. #
  1861. # Written by Scott Hannahs, Bitter National Magnet Lab, MIT, August 1991
  1862. # Complaints, comments, ideas to sth@slipknot.mit.edu
  1863. # Tested on Silicon Graphics, IRIX 3.3.1
  1864. #
  1865. # Minor banging by <rreiner@nexus.yorku.ca> to handle alias value fields
  1866. # which contain doublequote characters, e.g.
  1867. #
  1868. #    alias Foo "Foobar the Great <foo@bar.com>"
  1869. #
  1870. # (the doublequotes are stripped in the expansion), and to handle multiple
  1871. # spaces after the token "alias".
  1872. #
  1873. # Also added some error detection and signal traps; tested on SunOS 4.1.1.
  1874. #
  1875. #    Exit codes:     0 -- normal termination
  1876. #            1 -- parm error
  1877. #            2 -- file does not exist
  1878. #            3 -- trap
  1879. #
  1880. # Thanks to bug reports from
  1881. #  Andy Jacobs and others
  1882. #
  1883. if [ z$1 = z ]; then
  1884.   myname=`basename $0`
  1885.   echo "$myname: usage is  $myname workfile"
  1886.   exit 1
  1887. fi
  1888.  
  1889. if [ ! -f $1 ]; then
  1890.   myname=`basename $0`
  1891.   echo "$myname: $1 does not exist or is a directory"
  1892.   exit 2
  1893. fi
  1894.  
  1895. TMP_DIR=/usr/tmp
  1896.  
  1897. trap "rm -f ${TMP_DIR}/nn.alias.$$ ; exit 3" 0 1 2 3 15
  1898.  
  1899. ALIAS_LIST=""
  1900. ADDRESS_LIST="`head -1 $1 | sed -e s/To://`"
  1901. until [ "$ALIAS_LIST" = "$ADDRESS_LIST" ] ; do
  1902.   ALIAS_LIST="`echo "$ADDRESS_LIST"| sed -e 's/,/ /g' `"
  1903.   ADDRESS_LIST=""
  1904.     for ALIAS in $ALIAS_LIST ; do
  1905.       ADDRESS=`grep '^[     ]*alias[     ][     ]*'"$ALIAS"'[     ]' ${HOME}/.mailrc |\
  1906.       sed      -e s/'^[     ]*alias[     ][     ]*'"$ALIAS"'[     ][     ]*'// |\
  1907.       sed -e s/'"'//g`
  1908.       if [ "$ADDRESS" ] ; then
  1909.     ADDRESS_LIST="$ADDRESS_LIST $ADDRESS"
  1910.       else
  1911.     ADDRESS_LIST="$ADDRESS_LIST $ALIAS"
  1912. #      for elm alias expansion use the following line instead of the previous.
  1913. #      ADDRESS_LIST="$ADDRESS_LIST "`elm -c "$ALIAS" | cut -f3 -d\ `
  1914.       fi
  1915.     done
  1916.   done
  1917. echo "To:${ADDRESS_LIST}" > ${TMP_DIR}/nn.alias.$$
  1918. tail +2 $1 >> ${TMP_DIR}/nn.alias.$$
  1919. mv -f ${TMP_DIR}/nn.alias.$$ $1
  1920.  
  1921. exit 0
  1922.  
  1923.   
  1924. Subject: lynxify
  1925. From: Appendix
  1926.  
  1927. #!/bin/sh
  1928. # Author: Dr. Richard Botting <rbotting@wiley.csusb.edu>
  1929. # Posted to comp.infosystems.www.users on 9 June 94
  1930. # Prepare input with embedded html tags for lynx and then view it
  1931.  
  1932. file=/tmp/mailynx.${$}.html
  1933. (echo "<pre>" ; cat ; echo "</pre>" )> $file
  1934. lynx $file < /dev/tty
  1935. rm $file
  1936.  
  1937.   
  1938. Subject: nntp.c
  1939. From: Appendix
  1940.  
  1941. *** nntp.c.old    Sat Nov  5 19:54:57 1994
  1942. --- nntp.c    Sat Nov  5 19:55:36 1994
  1943. ***************
  1944. *** 759,765 ****
  1945.       strncpy(host, (gethostbyname(host))->h_name, sizeof host);
  1946.   
  1947.       server_real_name = (gethostbyname(nntp_server))->h_name;
  1948. !     use_nntp = (strcmp(host, server_real_name) != 0);
  1949.   
  1950.       if (use_nntp) {
  1951.       freeobj(news_active);
  1952. --- 759,765 ----
  1953.       strncpy(host, (gethostbyname(host))->h_name, sizeof host);
  1954.   
  1955.       server_real_name = (gethostbyname(nntp_server))->h_name;
  1956. !     use_nntp = 1;
  1957.   
  1958.       if (use_nntp) {
  1959.       freeobj(news_active);
  1960.  
  1961.   
  1962. Local Variables:
  1963. mode: outline
  1964. outline-regexp: "^Subject:"
  1965. fill-prefix: "  "
  1966. End:
  1967.  
  1968.